The present invention relates to a rendering process for displaying three-dimensional images on a two-dimensional screen, such as on a television monitor, a device used therefor, a recording medium having recorded thereon a rendering process program and such rendering process program.
There are accelerating trends in higher integration and faster processing speed of processors and memories in recent television game console machines and personal computers, so that a rendering processing device composed of such game console machine or personal computer can generate fine, high-definition, diversified two-dimensional images with real presence in a real-time manner, and can display them on two-dimensional monitor screens.
When a three-dimensional image is rendered on a two-dimensional monitor screen, the three-dimensional polygon data are subjected to various geometric processes such as coordinate conversion, clipping and lighting, and the resultant data are further subjected to transparent projection conversion. The rendering processing device pastes textures having various colors and patterns onto polygons to thereby give desired colors and patterns to the objects.
The three-dimensional polygons herein are to be expressed with a limited number of pixels on the two-dimensional screen, so that an image rendered on the two-dimensional screen will clearly have various disorders generally referred to as aliasing. In particular, the edge portion of an image traversing obliquely on the two-dimensional screen will have a step-like unsmoothness (so-called jaggedness) representing pixel profiles on the edge of the image.
Thus, a conventional rendering processing device employs so-called anti-aliasing, which is a process for removing or preventing aliasing such as jaggedness. A typical anti-aliasing process employed by the conventional rendering processing device for removing jaggedness is as follows.
The rendering processing device first determines pixel coverage, and then sets an α value corresponding to such pixel coverage. The device then mixes a pixel color to be used as a background and a pixel color to be used as a foreground according to such α value, which successfully makes the jaggedness unrecognizable. This technique is adopted by an extremely large number of rendering processing devices since only a single time of processing will successfully yield effective anti-aliasing. The pixel coverage herein refers to a value for expressing a fraction of the area occupied by a polygon within one pixel, and is given by a real number ranging from 0 to 1. For example, any pixel not containing an edge portion will have a value of “1” for the pixel coverage. The α value refers to a degree of transparency (semi-transparency) used in the rendering process of the individual pixels, and is given by a real number ranging from 0 to 1. For example, a pixel having a value of “1” for the α value is an opaque pixel. For the case that the foreground pixels are opaque, the color of such foreground pixels will never be mixed with the color of background pixels.
The foregoing anti-aliasing technique is, however, not applicable to polygons which are semi-transparent from the beginning. That is, the foregoing anti-aliasing technique gives a pixel coverage value of “1” for all pixels other than those located in the edge portion, so that the α values for such pixels are inevitably set to “1”. This means that the foregoing anti-aliasing technique undesirably changes polygons which should intrinsically be semi-transparent into opaque ones. This is why the foregoing anti-aliasing technique is not applicable to polygons which are semi-transparent from the beginning.